//这个js文件的作用，就是对Axios的实例进行参数的设置，而且会根据业务进行拦截器处理

//导入axios组件
import axios from 'axios'

//创建axios的实例
const instance = axios.create({
    //访问url的前缀
    //baseURL: 'https://some-domain.com/api/', //根据具体情况修改
    timeout: 3000,//超时时间
    //headers: {'X-Custom-Header': 'foobar'} //设置请求头，设置token等参数
    //还可以添加其他参数。。。参照官网开发即可
});

// todo 开发拦截器
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // todo 对用户的权限，角色进行判断处理，或者是每次请求都可以带上某一个请求头
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});



//开发一个后置拦截器，目的是为了去掉返回的resp数据中的其他数据，只需要data中的数据
// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    console.log('response:',response)
    console.log('拦截器：',response.data)
    return response.data;//只返回data数据
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

//导出实例，供外部使用
export default instance